#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int N=100100;
int hash[N];
int main(){
	int a,b,m,r;
	memset(hash,-1,sizeof(hash));
	scanf("%d%d%d%d",&a,&b,&m,&r);
	hash[r]=0;
	for(int i=1;;++i){
		r=(r*a+b)%m;
		if(hash[r]!=-1){
			printf("%d\n",i-hash[r]);
			break;
		}else{
			hash[r]=i;
		}
	}
	return 0;
}